$(function () {

    var setting = {
        view: {
            showLine: true,

        },
        async: {
            enable: true,
            url: "/dept/getDeptData",//url地址
            type: 'post',
            autoParam: ["id"],
        },
        data: {
            simpleData: {
                enable: true,
                idKey: "id",
                pIdKey: "pid",
                rootPId: 0
            }
        },
        callback: {
            onClick: zTreeOnClick,
            onAsyncError: zTreeOnAsyncError,
            onAsyncSuccess: function (event, treeId, treeNode, msg) {
            }
        }
    };

    function zTreeOnClick(event, treeId, treeNode) {
        if (treeNode.level == 0) {
            return
        }

        var deptId = treeNode.id;

        $('#deptInput').attr("value", deptId)
        $.post("/user/teachers/list",
            {"deptId": deptId},
            function (response) {
                if (response.code == 500) {
                    $('#exportBtn').attr("hidden", "hidden")
                    $('#uploadUser').removeAttr("hidden")
                    $('#table').bootstrapTable('destroy')
                    alert(response.msg)
                } else {
                    $('#exportBtn').removeAttr("hidden")
                    $('#uploadUser').removeAttr("hidden")
                    $('#table').bootstrapTable('destroy'),
                        $('#table').bootstrapTable({
                            //url: '/user/teachers/list?deptId=' + deptId,
                            //method: 'GET',                      //请求方式（*）
                            data: response.data,
                            striped: true,                      //是否显示行间隔色
                            cache: false,                       //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
                            pagination: true,                   //是否显示分页（*）
                            sortable: true,                     //是否启用排序
                            showColumns: true,                  //是否显示所有的列（选择显示的列）
                            sortOrder: "asc",                   //排序方式
                            sidePagination: "client",           //分页方式：client客户端分页，server服务端分页（*）
                            pageNumber: 1,                      //初始化加载第一页，默认第一页,并记录
                            pageSize: 5,                     //每页的记录行数（*）
                            pageList: [5, 10, 100],        //可供选择的每页的行数（*）
                            paginationPreText: '上一页',
                            paginationNextText: '下一页',
                            search: true,                      //是否显示表格搜索
                            strictSearch: false,
                            showRefresh: true,                  //是否显示刷新按钮
                            minimumCountColumns: 2,             //最少允许的列数
                            clickToSelect: false,                //是否启用点击选中行
                            //height: 500,                      //行高，如果没有设置height属性，表格自动根据记录条数觉得表格高度
                            uniqueId: "userId",                     //每一行的唯一标识，一般为主键列
                            showToggle: true,                   //是否显示详细视图和列表视图的切换按钮
                            cardView: false,                    //是否显示详细视图
                            detailView: false,                  //是否显示父子表
                            columns: [{
                                field: 'loginName',
                                title: '工号',
                                sortable: true
                            }, {
                                field: 'userName',
                                title: '姓名',
                                sortable: true
                            }, {
                                field: 'sex',
                                title: '性别',
                                sortable: true,
                                formatter: function (value) {
                                    return value == 0 ? '女' : '男'
                                }

                            }, {
                                field: 'phonenumber',
                                title: '联系电话'
                            }, {
                                field: 'email',
                                title: '邮箱',
                                visible: false
                            }, {
                                field: 'gmtCreate',
                                title: '添加时间',
                                sortable: true,
                                formatter: function (value) {
                                    if (value == '' || value == undefined) {
                                        return value;
                                    }
                                    var myDate = new Date(value);
                                    //获取当前年
                                    var year = myDate.getFullYear();
                                    //获取当前月
                                    var month = myDate.getMonth() + 1;
                                    month = month < 10 ? "0" + month : month;
                                    //获取当前日
                                    var date = myDate.getDate();
                                    date = date < 10 ? "0" + date : date;
                                    var h = myDate.getHours();       //获取当前小时数(0-23)
                                    h = h < 10 ? "0" + h : h;
                                    var m = myDate.getMinutes();     //获取当前分钟数(0-59)
                                    m = m < 10 ? "0" + m : m;
                                    var s = myDate.getSeconds();
                                    s = s < 10 ? "0" + s : s;
                                    var time = year + '-' + month + "-" + date;
                                    return time;
                                },
                                visible: false
                            }, {
                                field: 'deleted',
                                title: '状态',
                                align: 'center',
                                valign: 'middle',
                                formatter: function (value, row) {
                                    var str = '';
                                    if (value == 0) {
                                        str = '<button id="StatusBtn' + row.userId + '" class="btn btn-sm btn-success"onclick="disableUser(' + row.userId + ')">正常</button>'
                                    } else {
                                        str = '<button id="StatusBtn' + row.userId + '" class="btn btn-sm btn-warning"onclick="recoverUser(' + row.userId + ')">停用</button>'
                                    }
                                    return str
                                }
                            },
                                {
                                    field: 'userId',
                                    title: '操作',
                                    // width: 120,
                                    align: 'center',
                                    valign: 'middle',
                                    formatter: function (value) {
                                        return '<button class="btn btn-danger btn-sm"onclick="resetPassword(' + value + ')">密码重置</button>';
                                    }
                                }],
                            onLoadSuccess: function () {
                            },
                            onLoadError: function () {
                                $('#table').bootstrapTable('destroy')
                                alert("数据加载失败！");
                            },

                        });

                }
                ;
            }
        )

    }

    function zTreeOnAsyncError(event, treeId, treeNode, XMLHttpRequest, textStatus, errorThrown) {
        alert("加载错误：" + XMLHttpRequest);
    }

    $(document).ready(function () {
        $.fn.zTree.init($("#tree"), setting);
    });
})

